"""

该脚本功能为合并从禅道中导出的任务和Bug，并最终导出为一个Excel文件

"""

import pandas as pd
import ComBase as cb
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
# Set the font to SimHei to support CJK characters
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

def combinMissData(file_content):
    # 将file_content中“预计开始”和“截止日期”的数据格式转换为日期格式
    file_content['预计开始'] = pd.to_datetime(file_content['预计开始'])
    file_content['截止日期'] = pd.to_datetime(file_content['截止日期'])
    # 将“指派给”列中的内容进行裁剪，裁剪规则：从第一个冒号开始到第一个左括号之间的内容
    file_content['指派给'] = file_content['指派给'].str.split(':').str[1].str.split('(').str[0]

    # 导出数据
    file_content.to_excel('E:/个人/个人代码/data/daily/out/mission.xlsx', index=False)

def combinBugData(file_content):
    # 将file_content中“指派日期”和“截止日期”的数据格式转换为日期格式
    file_content['指派日期'] = pd.to_datetime(file_content['指派日期'])
    file_content['截止日期'] = pd.to_datetime(file_content['截止日期'])
    # 将“指派给”列中的内容进行裁剪，裁剪规则：截取第一个左括号之前的内容
    file_content['指派给'] = file_content['指派给'].str.split('(').str[0]
    
    # 将“车型”列的内容进行转大写操作
    file_content['车型'] = file_content['车型'].str.upper()
    # 将“车型”列的内容去掉左右两端的空格
    file_content['车型'] = file_content['车型'].str.strip()
    # 将“车型"的内容进行替换，将SGHL替换U8L，SGHC替换为U8C
    file_content['车型'] = file_content['车型'].replace({'SGHL': 'U8L', 'SGHC': 'U8C'})

    # 导出数据
    file_content.to_excel('E:/个人/个人代码/data/daily/out/bug.xlsx', index=False)

# 定义数据文件的路径（禅道的任务数据）
pathMission = 'E:/个人/个人代码/data/daily/mission/'
# 获取数据
file_content_mission = cb.get_date(pathMission)
# 进行数据处理和导出
combinMissData(file_content_mission)

# 定义数据文件的路径（禅道的bug数据）
pathBug = 'E:/个人/个人代码/data/daily/bug/'
# 获取数据
file_content_bug = cb.get_date(pathBug)
# 进行数据处理和导出
combinBugData(file_content_bug)